package com.github.prontera.domain;

import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.github.prontera.domain.enums.ClientConsumeTypeEnum;
import com.github.prontera.domain.enums.YesOrNoEnum;
import com.github.prontera.model.BasicDomain;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * u_client_consume-客户端消费
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class ClientConsume extends BasicDomain{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private Long clientId;
	/**
	 * 收益金额(消费金额/返利基数)
	 */
	@ApiModelProperty(value = "收益金额(消费金额/返利基数)")
    private BigDecimal amount;
	/**
	 * 累计返利
	 */
	@ApiModelProperty(value = "累计返利")
    private BigDecimal rebateNum;
	/**
	 * 产品ID(达人订单ID/任务ID)
	 */
	@ApiModelProperty(value = "产品ID(达人订单ID/任务ID)")
    private Long productId;
	/**
	 * 0:达人消费,1:达人收入,2:任务保证金,3:技能激活码
	 */
	@ApiModelProperty(value = "0:达人消费,1:达人收入,2:任务保证金,3:技能激活码")
    private ClientConsumeTypeEnum type;
	/**
	 * 0:待完成结算,1:已完成结算
	 */
	@ApiModelProperty(value = "0:待完成结算,1:已完成结算")
    private YesOrNoEnum status;
    
    public ClientConsume(){
    
    }
    
    public Long getClientId() {
        return this.clientId;
    }
    
    public void setClientId(Long clientId) {
        this.clientId = clientId;
    }
    public BigDecimal getAmount() {
        return this.amount;
    }
    
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }
    public BigDecimal getRebateNum() {
        return this.rebateNum;
    }
    
    public void setRebateNum(BigDecimal rebateNum) {
        this.rebateNum = rebateNum;
    }
    public Long getProductId() {
        return this.productId;
    }
    
    public void setProductId(Long productId) {
        this.productId = productId;
    }
    public ClientConsumeTypeEnum getType() {
        return this.type;
    }
    
    public void setType(ClientConsumeTypeEnum type) {
        this.type = type;
    }
    public YesOrNoEnum getStatus() {
        return this.status;
    }
    
    public void setStatus(YesOrNoEnum status) {
        this.status = status;
    }
    
}
